﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

//定义一个结构体，名为PersonStruct，有三个成员变量：姓名、电话、地址，
//在主方法中，创建一个PersonStruct结构体对象p1，为p1的成员变量赋值。
//再声明一个PersonStruct结构体变量p2，把p1赋值给p2，改变p2的姓名，打印p1的内容。

//定义一个类，名为PersonClass，有三个成员变量：姓名、电话、地址，
//在主方法中，创建一个PersonClass对象p3，为p3的成员变量赋值。
//再声明一个PersonClass变量p4，把p3赋值给p4，改变p4的姓名，打印p3的内容。


//观察打印结果，并在在注释中，说下你对此的认识（它们为什么会这样？）
namespace ConsoleApp3
{
    class Program
    {
        struct PersonStruct
        {
            public String xingming;
            public int dianhua;
            public string dizhi;

            public PersonStruct(string xingming, int dianhua, string dizhi)
            {
                this.xingming = xingming;
                this.dianhua = dianhua;
                this.dizhi = dizhi;
            }
        }
        static void Main(string[] args)
        {
            PersonStruct p1 = new PersonStruct("小一", 123456, "福建龙岩");
            PersonStruct p2 = new PersonStruct();
            p2 = p1;
            p2.xingming = "小二";
            Console.WriteLine(p1.xingming + "\t"+p1.dianhua + "\t"+p1.dizhi);
            Console.WriteLine(p2.xingming + "\t" + p2.dianhua + "\t" + p2.dizhi);

            Console.WriteLine("=========================");

            PersonClass p3 = new PersonClass("小三", 4563123, "福建泉州");
            PersonClass p4 = new PersonClass();
            p4 = p3;
            p4.name = "小四";
            Console.WriteLine(p3.name+"\t"+p3.telephone+"\t"+p3.adress);
            Console.WriteLine(p4.name + "\t" + p4.telephone + "\t" + p4.adress);
        }
    }
}
